package com.h3c.nem.bo;

import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.h3c.nem.enums.IdTypeEnum;
import com.h3c.nem.enums.OfferWorkerFillStageEnum;
import com.h3c.nem.enums.OfferWorkerStatusEnum;
import lombok.Data;

import java.util.List;

/**
 * @author chenyifan
 * @date 2022/7/18 10:40
 * 服务间流转TbOfferWorkerBO
 */
@Data
public class TbOfferWorkerBO {
    /**
     * 预备工号
     */
    private String workerId;
    /**
     * 北森来的员工在北森系统的编号
     */
    private String beiSenId;
    /**
     * 正式员工工号
     */
    private String regularWorkerId;
    /**
     * 域账号
     */
    private String domainAccount;
    /**
     * 姓名
     */
    private String workerName;
    /**
     * 姓名（拼音）
     */
    private String namePinyin;
    /**
     * 姓（拼音）
     */
    private String firstPinyin;
    /**
     * 名（拼音）
     */
    private String lastPinyin;
    /**
     * 曾用名
     */
    private String oldName;
    /**
     * 证件类型：身份证；护照；（直接存名称）
     */
    private String certType;
    /**
     * 证件号码
     */
    private String certNo;
    /**
     * 生日
     */
    private String birthday;
    /**
     * 电话号码
     */
    private String phoneNo;
    /**
     * 邮箱地址
     */
    private String email;
    /**
     * 性别：男/女（直接存名字）
     */
    private String sex;
    /**
     * 通讯地址
     */
    private String contactAddress;
    /**
     * 政治面貌
     */
    private String politicalLandscape;
    /**
     * 入党日期（仅入党时才需要填）
     */
    private String addPartyDate;
    /**
     * 国籍
     */
    private String nationality;
    /**
     * 籍贯
     */
    private String nationPlace;
    /**
     * 国籍编码
     */
    private String nationalityCode;
    /**
     * 户口城市
     */
    private String houseHoldCity;
    /**
     * 户口地址
     */
    private String houseHoldAddress;
    /**
     * 户口性质
     */
    private String houseHoldCode;
    /**
     * 民族
     */
    private String nation;
    /**
     * 参加工作日期（社会工作日期）
     */
    private String firstWorkDate;
    /**
     * 档案所在单位
     */
    private String archiveOrg;
    /**
     * 项目制员工：是/否
     */
    private String projectWorkerFlag;
    /**
     * 项目制工作地
     */
    private String projectWorkCity;
    /**
     * 人事范围编码
     */
    private String personnelRangeCode;
    /**
     * 人事范围
     */
    private String personnelRange;
    /**
     * 人事子范围编码
     */
    private String subPersonnelRangeCode;
    /**
     * 人事子范围
     */
    private String subPersonnelRange;
    /**
     * 旧工号
     */
    private String oldWorkerId;
    /**
     * 工作履行地
     */
    private String workCity;
    /**
     * 外派工作地
     */
    private String outerCity;
    /**
     * 有无配偶标志：有/无
     */
    private String spouseFlag;
    /**
     * 配偶名称
     */
    private String spouseName;
    /**
     * 结婚日期
     */
    private String marriageDate;
    /**
     * 配偶电话
     */
    private String spousePhone;
    /**
     * 配偶住址
     */
    private String spouseAddress;
    /**
     * 配偶工作单位
     */
    private String spouseOrg;
    /**
     * 参保地
     */
    private String insuredCity;
    /**
     * 外国永久居留权:拥有/没有
     */
    private String foreignResidency;
    /**
     * 外国永久居留权国家
     */
    private List<String> foreignResidencyCountryCode;
    /**
     * 班次
     */
    private String workOrder;
    /**
     * 是否刷卡：免刷卡/非免刷卡
     */
    private String signInFlag;
    /**
     * 弹性班次：弹性班次/非弹性班次
     */
    private String flexibleFlag;
    /**
     * 考勤方式：手工考勤/不考勤
     */
    private String checkWorkType;
    /**
     * 用户类型：研发/非研发
     */
    private String researchFlag;
    /**
     * 办公区域：研发区/非研发区
     */
    private String workLocation;
    /**
     * 一级部门名称
     */
    private String dept1name;
    /**
     * 二级部门名称
     */
    private String dept2name;
    /**
     * 三级部门名称
     */
    private String dept3name;
    /**
     * 四级部门名称
     */
    private String dept4name;
    /**
     * 部门名称全链路
     */
    private String deptNameChain;
    /**
     * 是否需要签署竞业协议
     */
    private String needSignCompetition;
    /**
     * 是否已签竞业协议：已签署/未签署
     */
    private String competitionSignFlag;
    /**
     * 签署的竞业限制期限:6个月-12个月/其他
     */
    private String competitionPeriod;
    /**
     * 竞业限制公司名单:标准版“H3C01”/云智版“H3C02”
     */
    private String competitionCompany;
    /**
     * 竞业限制协议签署日期
     */
    private String competitionSignDate;
    /**
     * 竞业限制补偿标准:解除或者终止劳动关系前十二个月平均工资的30%/其他
     */
    private String competitionRewardStandard;
    /**
     * 岗位名称
     */
    private String postName;
    /**
     * 岗位编码
     */
    private String postId;
    /**
     * 职级等级
     */
    private String jobLevel;
    /**
     * 职级职等
     */
    private String jobGrade;
    /**
     * 是否高才岗位
     */
    private String hignTalentPostFlag;
    /**
     * 是否国际化人才
     */
    private String internationalTalentFlag;
    /**
     * 是否特批：特批/非特批
     */
    private String specialApprovalFlag;
    /**
     * 招聘项目名称
     */
    private String offerProjectName;
    /**
     * 特批类型
     */
    private String specialApprovalType;
    /**
     * 特批说明
     */
    private String specialApprovalNote;
    /**
     * 数据来源：北森； BPM;
     */
    private String dataSource;
    /**
     * 入司方式：社会招聘；应届毕业生    系统中应届毕业生区分为 应届毕业生(校招) 应届毕业生(社招) 在入职登记填写时应届毕业生(社招)理解为应届，数据进入SAP是理解为社会招聘
     */
    private String inType;
    /**
     * 上家公司离职日期
     */
    private String lastLeaveDate;
    /**
     * 合同类型
     */
    private String contractType;
    /**
     * 合同开始时间
     */
    private String contractBeginDate;
    /**
     * 合同结束时间
     */
    private String contractEndDate;
    /**
     * 试用期月数
     */
    private Integer probationMonth;
    /**
     * 员工申请入职日期
     */
    private String applyReportDate;
    /**
     * 申请变更入职日期原因
     */
    private String applyChangeReason;
    /**
     * 计划入职日期
     */
    private String planReportDate;
    /**
     * Offer发放日期
     */
    private String offerDate;
    /**
     * 实际入职日期（生成正式工号时，输入的日期）
     */
    private String joinDate;
    /**
     * offer ID（HRSS老数据通过offer ID关联）
     */
    private String offerId;
    /**
     * 入职状态（）
     */
    private OfferWorkerStatusEnum workerStatus;
    /**
     * 填写进度:0未填写 1已登录待确认文件 2 填写中；3 填写完成；
     */
    private OfferWorkerFillStageEnum fillStage;
    /**
     * 思想导师姓名/工号
     */
    private String teacherInfo;
    /**
     * 直接上级姓名/工号
     */
    private String directManager;
    /**
     * 更新时间
     */
    private String updateTime;
    /**
     * 更新人姓名/工号
     */
    private String updatorInfo;

    /**
     * 是否保存过  0北森同步过来的原始数据  1保存过了
     */
    private Boolean alreadySave;

    /**
     * 预备员工登录密码
     */
    private String preparationPassword;

    /**
     * 员工自我介绍
     */
    private String workerIntroduce;

    /**
     * 直属部门ID
     */
    private String directDeptId;

    /**
     * 直属部门ID
     */
    private String directDeptName;

    /**
     * 重新签署的记录id
     */
    private String recordId;

    /**
     * 线下签署操作人
     */
    private String offlineOperator;

    /**
     * 线下签署时间
     */
    private String offlineTime;

    /**
     * 入职公司名称
     */
    private String companyName;

    /**
     * 试用期类型
     */
    private String typeOfTrialPeriod;
}
